package com.itheima.reggie.service;

import com.itheima.reggie.dto.SetmealDto;
import com.itheima.reggie.entity.Page;
import com.itheima.reggie.entity.SetmealDish;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface SetmealDtoService {


    /**
     * 新增套餐
     * @param setmealDto
     * @return
     */
    Boolean addSetmealDto(SetmealDto setmealDto);

    /**
     * 根据名字查找所有套餐
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    Page<SetmealDto> findAllByName(Integer page,Integer pageSize,String name);


    /**
     * 数据回显：根据套餐id查找套餐的菜品
     * @param id
     * @return
     */
    SetmealDto selectSetmealDtlAndSetmealDishById(Long id);


    /**
     * 根据套餐id修改套餐状态：禁用
     * @param ids
     * @return
     */
    Boolean updateStatus(List<Long> ids);

    /**
     * 根据套餐id修改套餐状态：启用
     * @param ids
     * @return
     */
    Boolean updateStatusInUse(List<Long> ids);


    /**
     * 根据ids删除套餐
     * @param ids
     * @return
     */
    Boolean deleteByIds(Long[] ids);

    /**
     * 修改套餐和套餐菜品
     * @param setmealDto
     * @return
     */
    Boolean updateSetmealDto(SetmealDto setmealDto);


    /**
     * 根据套餐分类id查找对应的菜品列表
     * @param categoryId
     * @param status
     * @return
     */
    List<SetmealDto> findSetmealDtoByCategoryId(Long categoryId,Integer status);


    /**
     * 根据套餐id查找对应的菜品列表
     *
     * @param setmealId
     * @return
     */
    SetmealDto findSetmealDishBySetmealId(Long setmealId);

}
